package com.cinc.mdm.modules.workCenter.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cinc.mdm.modules.bom.vo.MdmBomTreePage;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @Description: 工作中心树
 * @Author: jeecg-boot
 * @Date:   2021-12-26
 * @Version: V1.0
 */
@Data
@ApiModel(value="工作中心树", description="工作中心树")
public class MdmWorkCenterTreeModel{

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**父ID*/
    @ApiModelProperty(value = "父ID")
    private String pid;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**编码*/
	@Excel(name = "编码", width = 15)
    @ApiModelProperty(value = "编码")
    private String code;
	/**名称*/
	@Excel(name = "名称", width = 15)
    @ApiModelProperty(value = "名称")
    private String name;
    /**名称(编码)*/
    @ApiModelProperty(value = "名称(编码)")
    private String nameCode;
	/**简称*/
	@Excel(name = "简称", width = 15)
    @ApiModelProperty(value = "简称")
    private String shortName;
	/**工厂*/
	@Excel(name = "工厂", width = 15, dictTable = "mdm_factory", dicText = "factory_name", dicCode = "id")
	@Dict(dictTable = "mdm_factory", dicText = "factory_name", dicCode = "id")
    @ApiModelProperty(value = "工厂")
    private String factoryId;
    /**产品线*/
    @Excel(name = "产品线", width = 15, dictTable = "mdm_product_line", dicText = "name", dicCode = "id")
    @Dict(dictTable = "mdm_product_line", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "产品线")
    private java.lang.String productLineId;
	/**公司*/
	@Excel(name = "公司", width = 15, dictTable = "mdm_company", dicText = "company_name", dicCode = "id")
	@Dict(dictTable = "mdm_company", dicText = "company_name", dicCode = "id")
    @ApiModelProperty(value = "公司")
    private String companyId;
	/**编制人数*/
	@Excel(name = "编制人数", width = 15)
    @ApiModelProperty(value = "编制人数")
    private Integer postNum;
	/**操作范围*/
	@Excel(name = "操作范围", width = 15, dicCode = "mdm_work_scope")
	@Dict(dicCode = "mdm_work_scope")
    @ApiModelProperty(value = "操作范围")
    private String workScope;
	/**所在位置*/
	@Excel(name = "所在位置", width = 15)
    @ApiModelProperty(value = "所在位置")
    private String location;
	/**零配件提取天数*/
	@Excel(name = "零配件提取天数", width = 15)
    @ApiModelProperty(value = "零配件提取天数")
    private Integer partDays;
	/**零配件下工单*/
	@Excel(name = "零配件下工单", width = 15)
    @ApiModelProperty(value = "零配件下工单")
    private String partOrderFlag;
	/**检修计划下工单*/
	@Excel(name = "检修计划下工单", width = 15)
    @ApiModelProperty(value = "检修计划下工单")
    private String repairOrderFlag;
	/**扫码方式*/
	@Excel(name = "扫码方式", width = 15, dicCode = "scan_way")
	@Dict(dicCode = "scan_way")
    @ApiModelProperty(value = "扫码方式")
    private String scanWay;
	/**生效日期*/
	@Excel(name = "生效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "生效日期")
    private Date effectiveDate;
	/**失效日期*/
	@Excel(name = "失效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "失效日期")
    private Date expireDate;
	/**排序*/
	@Excel(name = "排序", width = 15)
    @ApiModelProperty(value = "排序")
    private Integer sort;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String note;
	/**启用*/
	@Excel(name = "启用", width = 15)
    @ApiModelProperty(value = "启用")
    private String enableFlag;
	/**删除*/
	@Excel(name = "删除", width = 15)
    @ApiModelProperty(value = "删除")
    private String delFlag;
	/**租户ID*/
	@Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    @ApiModelProperty(value = "子列表")
    private List<MdmWorkCenterTreeModel> childList = new ArrayList<>();
}
